# 代码所有：cxw
# 开发时间：2021/7/3 14:50

#列表元素的删除操作

'''
1、溢出，remove()，一次删除一个元素，重复元素只删除第一个，元素不存在Value和Errorer
2、
'''




#remove()
a=[10,20,30,40,50,60,70]
print('原列表',a)
a.remove(30)    #从列表中移除一个元素，此语句就是把30删除了
print(a)
#a.remove(80)   #ValueError: list.remove(x): x not in list
print(a)



#pop()  删除一个指定索引位置上的元素，指定索引不存在抛出IndexErrror，不确定指引，删除列表中的最后一个元素
a.pop(0)   #索引为0 的元素被删除掉了
print(a)

#a.pop(8)   #索引不存在，超出了异常，发出 pop index out of range

a.pop()    #如果不进行索引删除，那么就默认删除最后一位数字
print(a)

#切片
print('-----进行切片操作，删除至少一个元素，将产生一个新的列表对象---')
newa=a[1:3]
print('原列表',a)
print('切片后的列表',newa)  #删除除了切片以外的元素

'''不产生新的列表对象，而是删除列表中的内容'''
a[1:3]=[]   #将第一到第三个元素替换成空列表
print(a)  #这样输出的元素就是除1 2 以外的元素了


#clear 清除列表中的所有元素
a.clear()
print(a)  #clear 输出空列表


'''del语句将列表对象都删除了'''
del a
print(a)     #name 'a' is not defined   a列表没有定义，因为列表被删除后就无定义。